مهندسی نرم افزار (Software Engineering)
واژه "مهندسی نرم افزار" در بین عامه مردم یک معنی دارد و در بین متخصصین رشته های کامپیوتری یک معنی دیگر!
عموم مردم مباحث کامپیوتری را به دو دسته کلی تقسیم می کنند. سخت افزار و نرم افزار. هر آنچه که به سخت افزار سیستم مربوط می شود را مرتبط با گرایش سخت افزار می دانند و هرآنچه که به نرم افزارهای کامپیوتری مربوط می شود را مرتبط با گرایش نرم افزار می دانند.
این تعریف "مهندسی نر افزار" از دیدگاه عموم مردم است (تعریف عام).
ولی یک تعریف دیگر از واژه "مهندسی نرم افزار" وجود دارد که متخصصین کامپیوتر از آن استفاده می کنند و در واقع تعریف درست و اصولی واژه "مهندسی نرم افزار" است (تعرف خاص).
انجمن مهندسی نرم افزار در نهاد بین المللی IEEE ، مهندسی نرم افزار را اینگونه تعریف می کند:
"به کار بستن روش های سیستماتیک، منظم و قابل اندازه گیری برای توسعه و عملیاتی کردن و حفظ و نگهداری نرم افزار و همچنین مطالعه و توسعه این روش ها"
با یک مثال معنای این تعریف روشن تر می شود.
فرض کنید شما یک تیم 20 نفره از برنامه نویسان حرفه ای دارید و یکی از سازمان های بزرگ دولتی به شما پیشنهاد می دهد که یک نرم افزار خاص و مهم را برایشان بسازید و شما هم قبول می کنید.
خوب امروز روز اول کار است! چه کار می کنید؟ آیا مستقیما شروع به برنامه نویسی می کنید؟ اگر مستقیما شروع به برنامه نویسی کنید، به احتمال بسیار زیاد شکست می خورید! (برنامه نویسان با تجربه به خوبی این موضوع را درک می کنند!)پروژه را چه طور بین اعضای تیم تقسیم می کنید؟ در واقع چطور مشخص می کنید چه کسی چه کاری را انجام دهد؟ با استفاده از چه روش هایی می توانید بفهمید که این سازمان از شما دقیقا چه نرم افزاری می خواهد؟ نرم افزار را چگونه طراحی می کنید؟ (طراحی نرم افزار با برنامه نویسی آن فرق دارد). در طراحی چه نکاتی را رعایت می کنید که این نرم افزار در آینده به راحتی قابل به روز رسانی باشد؟(بحث حفظ و نگهداری نرم افزار) و بسیاری سوال های مهم دیگر.
هدف مهندسی نرم افزار (یا در واقع، مهندسی کردن فرآیند تولید نرم افزار) این است که دانش و فعالیت های شما را برای رسیدن به یک نرم افزار با کیفیت جهت دهی کند. یعنی مراحل ساخت و توسعه نرم افزار را مشخص می کند
:: بازدید از این مطلب : 996
|
امتیاز مطلب : 41
|
تعداد امتیازدهندگان : 15
|
مجموع امتیاز : 15